1. Field of the Invention
The present invention relates to a network system composed of a plurality of nodes and, particularly, to a system and method for multicast communication between a source node and a plurality of destination nodes.
2. Description of the Prior Art
In a multicast network, blocks of information such as packets are multicast from a source node to a plurality of destination nodes. As a multicast scheme, a multiple access multicast scheme and a transit multicast scheme are known. According to the multiple access multicast scheme, the source node sequentially communicates with the destination nodes to repeatedly transmit the same packet to the destination nodes. According to the transit multicast scheme, the packets are transferred from the source node to one of the destination nodes and then are successively transferred to the other destination nodes.
As a conventional transit multicast scheme, Japanese Patent Application Laid-Open No. 8-256177 discloses a mail multicast method and a conventional routing scheme by which mails are multicast to the plural destinations through switch stations as transit switch stations.
However, the conventional transit multicast scheme cannot provide sufficiently efficient multicast transmission, especially when a failure occurs on the multicast route.
An object of the present invention is to provide a multicast communication method and device which can provide efficient multicast services.
Another object of the present invention is to provide a multicast communication method and device which can change a multicast route rapidly and flexibly even in the case of the occurrence of a failure.
According to the present invention, in a multicast communication method from a source node to a plurality of destination nodes through at least one node in a multicast communication network, each of the nodes performs the steps of a) storing a table containing distances between each of the multicast communication nodes and the other multicast communication nodes; b) when receiving a destination list, sequentially selecting a node having a shortest distance from the destination list by referring to the table to generate a multicast route; and c) performing communication through the multicast route.
Preferably, the table in the step a) may be updated by the steps of: transmitting a distance measurement request to the other nodes in the multicast communication network at predetermined intervals; measuring response time required from transmission of the distance measurement request to reception of a distance measurement reply for each of the other nodes; and updating the table using the response time.
The step b) may comprise the steps of: b-1) selecting at least one first node having a shortest distance from the destination list by referring to a distance table of the node to produce a new destination list; b-2) grouping the nodes other than the new destination list under each first node of the new destination list; and b-3) transmitting a group of nodes for each first node as a destination list to a corresponding first node.
The step b-2) may comprise the steps of: b-2.1) sequentially selecting a single node from the new destination list; and b-2.2) sequentially selecting at least one second node having a shortest distance from the nodes other than the new destination list by referring to a distance table of the single node selected to produce a group of nodes for the single node selected.
Further preferably, groups corresponding to nodes included in the new destination list are rearranged such that a number of nodes for each group is made uniform. Each of the nodes, when receiving multicast information addressed thereto, preferably transmits an acknowledgement thereof back to the source node.
As described above, the multicast processing can be distributed among the nodes involved in the multicast route, resulting in reduced burden upon a source node. Further, since a plurality of nodes at the shortest distance can be selected as a next-hop node for multicast by referring to a distance table, the network can be efficiently used.
Furthermore, since each node can determine a multicast route using a distance table, the multicast route can be dynamically and easily changed by updating the distance table depending on where a failure occurs or a change in network configuration, resulting in more efficient multicast communication.